<div class="site-guardian">
<span style="font-size: 1.2em;">ฅ𐔌՞˙Ⱉ˙՞𐦯ฅ</span>
<br>age: <span id="blog-age"></span> 
<br>last woof: <span id="last-woof"></span>
<br><span id="favorite-um"></span>
<br>currently: <span id="about-um"></span>
</div>

<script>
  const created = new Date(2025, 8, 13); 
  const now = new Date();
  const diffDays = Math.floor((now - created) / (1000 * 60 * 60 * 24));
  document.getElementById("blog-age").textContent = `${diffDays} days old`;
</script>

<script>
const lastUpdated = document.querySelector('meta[name="last-updated"]')?.content;
if (lastUpdated) {
  const date = new Date(lastUpdated);
  const formatted = date.toLocaleDateString('en-GB'); // 27/10/2025
  const el = document.getElementById('last-woof');
  if (el) el.textContent = formatted;
}
</script>

<script>
  const aboutUmPhrases = [
"dunking a hipster into the mainstream",
"waiting until the last minute",
"watching the grass grow",
"trying not to think about penguins",
"telling a little bird a secret",
"swimming with the loan sharks",
"teaching february to march",
"teaching chickens to use crosswalks",
"taking a meteor shower",
"taking the fun out of a fun fact",
"taking a walk on the wild side",
"sweeping the desert",
"sweating the small stuff",
"surfing a sound wave",
"selling seashells by the seashore",
"returning junk mail to the sender",
"selling a bug as a feature",
"saving the world anonymously",
"scaring a scarecrow",
"seeking professional help",
"saving up enough to pay attention",
"questioning reality until it answers",
"making lemonade with life's lemons",
"mapping the dark side of the moon",
"painting a black hole white",
"jumping off a cliffhanger",
"learning a lost language",
"guarding the comfort zone",
"hiding in plain sight",
"following the train of thought",
"growing a spine",
"going on a guilt trip",
"going around in social circles",
"geting to the bottom of this",
"fishing the moon out of the river",
"trying to figure out how time flies",
"finding out for whom the bell tolls",
"patching a black hole with duct tape",
"feeding a bad habit",
"emptying a full moon",
"stacking the odds evenly",
"exorcising a ghost writer",
"explaining the birds to the bees",
"dunking a cookie in the milky way",
"counting sheep",
"crying a river",
"crying over spilt milk",
"consoling a crying wolf",
"capturing the beauty of the moment",
"coloring truth with a white lie",
"comparing apples to oranges",
"cleaning up the mean streets",
"climbing the social ladder",
"climbing to the top of a family tree",
"catching a drift",
"catching phrases",
"answering nature's call",
"asking the right questions",
"building a food pyramid",
"building a bridge over troubled water",
"bringing sexy back once and for all",
"claiming the firewall, dog-style",
"bridging the cultural gap",
"brightening up some dark humor",
"breaking the fourth wall",
"brewing a storm in a teacup",
"blaming curiosity for killing the cat",
"blinding the eye of the storm",
"blowing everything into proportion",
"beating around the bush",
"trying to be a one-hit wonder",
"trying to be an expert in nothing",
"being one with the force",
"becoming someone’s imaginary friend",
"being there and being square",
"wagging tail at visitor footprints",
"barking up the correct tree",
"chewing scroll",
"bandaging a cutscene",
"stuck among open tabs",
"taking long walks in the margins",
"napping in the loading bar",
"munching outdated scripts",
"sorting links by scent",
"taking detours in broken links",
"curating a collection of typos",
"wagging tail at visitor footprints",
"banishing the night",
"keeping an eye on the cursor",
"stargazing in dark mode",
"snuggling into 404 pages",
"sorting snowflakes",
"chasing pop-ups away",
"watching over silent scrolls",
"dusting off archived posts",
"leaving pawprints in the margins",
"barking away floating ads",
"lounging in cached memories",
"curling up in blank spaces",
"snoozing in the page footer",
"digging holes in CSS grids",
"patrolling empty sidebars",
"barking at the elephant in the room",
"herding spam bots into 404",
"teaching spam bots table manners",
"muting autoplay videos"
  ];

  function shuffle(array, seed) {
      let m = array.length, t, i;
      while (m) {
          seed = (seed * 9301 + 49297) % 233280;
          i = Math.floor(seed / 233280 * m--);
          t = array[m];
          array[m] = array[i];
          array[i] = t;
      }
      return array;
  }

  function getPhraseIndex() {
      const now = new Date();
      const hour = now.getHours();
      const block = Math.floor(hour / 3); // 0 - 7
      const day = Math.floor(now / (1000 * 60 * 60 * 24)); 

      const cycleSize = aboutUmPhrases.length;
      const totalBlocks = 8;
      const cycleNumber = Math.floor((day * totalBlocks + block) / cycleSize);
      const positionInCycle = (day * totalBlocks + block) % cycleSize;

      const shuffled = shuffle([...aboutUmPhrases], cycleNumber);

      return shuffled[positionInCycle];
  }

  document.addEventListener("DOMContentLoaded", function() {
      document.getElementById('about-um').textContent = getPhraseIndex();
  });
</script>

<script>
  const favoriteUmPhrases = [
"like: 🍙 🍙 🍙",
"like: broken links",
"habit: slamming revolving doors",
"favorite place: seven deadly inns",
"favorite place: lonely bus stops",
"favorite place: empty forum thread",
"favorite place: draft folder",
"favorite place: abandoned chatroom",
"favorite place: loading screen",
"favorite place: collapsed FAQ section",
"habit: eating homeworks",
"habit: random acts of silence",
"like: good catch phrases",
"like: open windows",
"like: rhetorical quests",
"goal: all the buckets on the bucket list",
"goal: get the early bird’s worm",
"goal: keep the footer warm",
"like: real cookies, not the tracking ones",
"favorite people: 3a.m. visitors",
"favorite people: internet grandmas",
"favorite people: ^^ types",
"favorite people: T_T types",
"favorite people: uwu souls",
"favorite people: wiki fixers",
"favorite people: meme librarians",
"favorite people: playlist poets",
"like: slow loading",
"favorite things: metadata crumbs",
"like: silly clickbaits",
"like: forgotten typos",
"like: draft posts that never made it",
"like: scrollbars that don’t rush",
"like: dead-end redirect loops",
"like: polite cookie banners",
"habit: sleeping through notification storms",
"habit: typing lowercase everything",
"habit: never tagging posts",
"habit: closing tabs accidentally",
"habit: replying hehe to everything",
"habit: barking at video calls",
"habit: tilting head at voice notes",
"habit: watching squirrels on YouTube",
"habit: booping the webcam",
"habit: digging into the inbox",
"habit: accidentally zooming everything",
"like: misaligned buttons",
"like: good boy comments",
"like: random belly rub",
"like: awkward line breaks"
  ];

  function updateFavoriteUm() {
    const randomIndex = Math.floor(Math.random() * favoriteUmPhrases.length);
    const selectedPhrase = favoriteUmPhrases[randomIndex];
    document.getElementById("favorite-um").textContent = selectedPhrase;
  }

  updateFavoriteUm();
</script>